#ifndef _OPENDIALOG_H_
#define _OPENDIALOG_H_

#include <QDialog>

class QPushButton;
class QLabel;
class QRadioButton;
class QVBoxLayout;

class LinearCombDialog;
class Watermark;

class OpenDialog : public QDialog {
    Q_OBJECT
    public:
        OpenDialog();
    signals:
        void sendImage(QImage *waterMarkedImg);
    private slots:
        void openIMG1();
        void openIMG2();
        void applyWM();
        void algorithms(int algorithm);
        void linearComb();
        void setLinearComb(float alpha);
    private:
        void openImage(int imgID, QLabel *imageLabel);
        
        QLabel *img1;
        QLabel *img2;

        QImage *imgData1;
        QImage *imgData2;
        
        QPushButton *open1;
        QPushButton *open2;
        QPushButton *apply;
        QPushButton *cancel;

        QRadioButton *algorithm1;
        QRadioButton *algorithm2;
        QRadioButton *algorithm3;
        QRadioButton *algorithm4;

        QVBoxLayout *watermarkAlgorithms;
        QVBoxLayout *mainLayout;

        LinearCombDialog *lcDialog;

        Watermark *watermark;
};

#endif
